package com.depth.viewer.widget
{
	
	import com.depth.viewer.container.IWidgetContainer;
	import com.depth.viewer.widget.definition.IWidgetDefinition;
	import com.depth.viewer.widget.template.IWidgetTemplate;
	
	import flash.display.DisplayObject;
	import flash.events.IEventDispatcher;
	
	
	
	
	public interface IBaseWidget extends IWidget
	{
		
		
		function set widgetId(value:String):void;
		function get widgetId():String;
		
		
		function set widgetTitle(value:String):void;
		function get widgetTitle():String;
		
		
		function get map():Object;
		function set map(map:Object):void;
		
		function set widgetIcon(value:String):void;
		function get widgetIcon():String;
		
		function setState(value:String):void;
		function getState():String;
		
		function set container(value:IWidgetContainer):void;
		function get container():IWidgetContainer;
		
		
		function updateDisplayPosition():void;
		
		function setXYPosition(x:Number, y:Number,z:Number = -1):void;
		function setRelativePosition(left:Object = null, right:Object = null, top:Object = null, bottom:Object = null):void;
		function set isDraggable(value:Boolean):void;
		function get isDraggable():Boolean;
		function set isResizeable(value:Boolean):void;
		function get isResizeable():Boolean;
		function set isDragDropable(value:Boolean):void;
		function get isDragDropable():Boolean;
		
		function run(runingParams:Object = null):void;
		function stop():void;	
		function destroy():void;
		
		function set definition(value:IWidgetDefinition):void;
		function get definition():IWidgetDefinition;
	}
}
